package com.beetlestech.nfe.main.biz.com.impl;
import java.util.ArrayList;
import java.util.List;

import com.beetlestech.nfe.fw.core.biz.AbstractDBLogic;
import com.beetlestech.nfe.main.biz.com.HbVSaleCourseInfoList;
import com.beetlestech.nfe.main.biz.com.dto.VsalecourseinfolistInfoDTO;
import com.beetlestech.nfe.main.biz.constant.CommonConstant;
import com.beetlestech.nfe.main.biz.constant.CtgCodeConstant;
import com.beetlestech.nfe.main.biz.constant.HbMessageCode;
import com.beetlestech.nfe.main.db.base.StatementDTO;
import com.beetlestech.nfe.main.db.base.StatementUtil;
import com.beetlestech.nfe.main.db.constant.SQLConstant;
import com.beetlestech.nfe.main.db.view.VsalecourseinfolistDTO;
public class HbVSaleCourseInfoListImpl extends AbstractDBLogic implements HbVSaleCourseInfoList, CtgCodeConstant, HbMessageCode, CommonConstant, SQLConstant {

	@Override
	public VsalecourseinfolistInfoDTO[] getSaleCourseInfoList(
			String userName,
			String studentName,
			String courseName,
			Integer courseTypeCId,
			Integer learningStateCId
			) {
		List<VsalecourseinfolistInfoDTO> saleCourseList = new ArrayList<VsalecourseinfolistInfoDTO>();
		List<VsalecourseinfolistDTO> saleCourseListDB = new ArrayList<VsalecourseinfolistDTO>();
		VsalecourseinfolistDTO vsalecourseinfolistDTO =new VsalecourseinfolistDTO();
		StatementDTO statementDTO = new StatementDTO();
		if(userName!=null && !userName.equals("")){
			StatementUtil.andWhere(statementDTO, VsalecourseinfolistDTO.COLUMN_USERNAME, StatementUtil.KEYWORD.LIKE ,userName);
		}
		if(studentName!=null &&!studentName.equals("")){
			StatementUtil.andWhere(statementDTO, VsalecourseinfolistDTO.COLUMN_STUDENTNAME, StatementUtil.KEYWORD.LIKE ,studentName);
		}
		if(courseName!=null && !courseName.equals("")){
			StatementUtil.andWhere(statementDTO, VsalecourseinfolistDTO.COLUMN_COURSENAME, StatementUtil.KEYWORD.LIKE ,courseName);
		}
		if(courseTypeCId!=0){
			StatementUtil.andWhere(statementDTO, VsalecourseinfolistDTO.COLUMN_COURSESTATE, StatementUtil.KEYWORD.EQUAL ,courseTypeCId);
		}
		if(learningStateCId!=-1){
			StatementUtil.andWhere(statementDTO, VsalecourseinfolistDTO.COLUMN_LEARNINGSTATE, StatementUtil.KEYWORD.EQUAL ,learningStateCId);
		}
		vsalecourseinfolistDTO.set_dynamicWhereCondition(statementDTO.getSQLStatement());
		saleCourseListDB=queryDAO.queryForObjectList(VsalecourseinfolistDTO.SQL_SEARCH, vsalecourseinfolistDTO);
		if(saleCourseListDB==null || saleCourseListDB.size()==0){
			createApplicationException("errMsg", "没找到要查询的信息");
		}else{
			for(VsalecourseinfolistDTO item:saleCourseListDB){
				if(item.getlearningState()!=0){
					saleCourseList.add(convertToVSaleListInfo(item));
				}
				
			}
		}
		return saleCourseList.toArray(new VsalecourseinfolistInfoDTO[saleCourseList.size()]);
	}
	private VsalecourseinfolistInfoDTO convertToVSaleListInfo(VsalecourseinfolistDTO item){
		VsalecourseinfolistInfoDTO vsalecourseinfolistInfoDTO = new VsalecourseinfolistInfoDTO();
		vsalecourseinfolistInfoDTO.setcoursename(item.getcoursename());
		vsalecourseinfolistInfoDTO.setcoursetype(item.getcoursetype());
		vsalecourseinfolistInfoDTO.setgoodsid(item.getgoodsid());
		vsalecourseinfolistInfoDTO.setleariningname(item.getleariningname());
		vsalecourseinfolistInfoDTO.setorderid(item.getorderid());
		vsalecourseinfolistInfoDTO.setstudentname(item.getstudentname());
		vsalecourseinfolistInfoDTO.setusername(item.getusername());
		vsalecourseinfolistInfoDTO.setwarmingreason(item.getwarmingreason());
		vsalecourseinfolistInfoDTO.setlearningState(item.getlearningState());
		return vsalecourseinfolistInfoDTO;
	}
}
